/*  
 Copyright 2010 The 'Tribe.Blog' development team  
 (http://tribecache.codeplex.com/team/view)

 This library is licensed under the Ms-PL Microsoft Public License.  You should 
 have received a copy of the license along with the source code.  If not, an online copy
 of the license can be found at http://tribecache.codeplex.com/license.
*/

using System;

namespace Tribe.Cache.Factory
{
    ///<summary>
    /// IExpirationServiceFactory
    ///</summary>
    public interface ICacheExpirationServiceFactory
    {
        /// <summary>
        /// Used create a singleton instance of the cache expiration service
        /// </summary>
        ///<param name="invocationSchedule">The time period between invocations of the cache expiration service cleanup task</param>
        void CreateCacheExpirationService(TimeSpan invocationSchedule);

        ///<summary>
        /// Removes the instance of the running cache expiration service
        ///</summary>
        void Dispose();
    }
}